The use of media devices has increased in an exponential manner in recent years. As a result, media has become omnipresent. Video streaming, in particular, has gained importance. Media content or items are viewed everywhere and on a vast number of different devices. Consumers demand high definition media for TVs and/or home computers. Increasingly, high quality media content is being requested for other types of devices such as mobile devices for example.
The streaming and playback capabilities vary significantly between different mobile devices (or user equipment or UE). This difference is due to one or more of computational power, licensing costs and brand strategies. A wide array of audio and video codes, container formats and resolution requirements exist. Media items are often requested separately for a specific device (e.g. video on demand or VoD) and transported via unicast.
The term “coding” generally refers to the process of coding a media which includes specifying an audio/video codec and a resolution. The output of a media item that is coded is either a stream or a file. The term “transcoded” refers to the process of taking a media item that is coded for a particular device and then “transcoding” the media item for (presentation on) another type of device.
In most cases, there exist few options for choosing the format and resolution of the media item(s) delivered to the user. Media items are coded a-priori. The choice of codec-resolution combination is performed manually for each media item which is then passed to a transcoding node.
The various streaming and playback capabilities of devices require a large number of different codec-resolution combinations of the media. Only a subset of all possible codec-resolution combinations is currently provided which attempts to support a variety of devices but not in the best possible combination for each type of the devices (such as for each particular manufacturer and each particular model for example).
A prior knowledge of devices requesting media items are not provided in most cases. Thus, it is not always possible to choose the right set of format-resolution combinations before actually delivering a media item to the device or user equipment.
In some cases, a requested media is not available. In some other cases, the media may be available but may not be rendered properly on particular requesting devices. Servers responding to user requests for media items typically do not have the capability to determine if an available media corresponding to a user request can be rendered properly on the requesting device. In these cases, the media item may be submitted even if the media item may not be rendered in an optimal manner on the requesting device.
The user experience can be frustrating and undesirable if a media item is unavailable for particular requesting user equipment or if it is only available with insufficient quality.
Common problems can be identified as: limited or no a-priori knowledge of requesting devices; bad user experience due to insufficient media quality; and bad user experience due to missing media for a requesting device.